Selective Tracing of Java Programs
نویسندگان
چکیده
Design recovery, which means extracting design documents from source code, is usually done by static analysis techniques. Analysing behaviour by static analysis is very imprecise. We combine static and dynamic analysis to increase the preciseness of our design recovery process. In this paper we present an approach to collect data for the dynamic analysis by recording method calls during a program’s execution. To reduce the amount of information we monitor only relevant classes and methods identified by static analysis.
منابع مشابه
Selective Tracing for Dynamic Analyses
Reverse engineering based on dynamic analyses often uses method traces of the program under analysis. Recording all method traces during a program’s execution produces too much data, though for most analyses, a “slice” of all method traces is sufficient. In this paper, we present an approach to collect runtime information by selectively recording method calls during a program’s execution. Only ...
متن کاملJaVis: A UML-Based Visualization and Debugging Environment for Concurrent Java Programs
Debugging concurrent Java programs is a difficult task because of multiple control flows and inherent nondeterminism. It requires techniques not provided by traditional debuggers such as tracing, visualization, and automated error analysis. Therefore, we have developed the JaVis environment for visualizing and debugging concurrent Java programs. The information about a running program is collec...
متن کاملJRastro: A Trace Agent for Debugging Multithreaded and Distributed Java Programs
Program tracing is one of the most used techniques to debug parallel and distributed programs. In this technique, events are recorded in trace files during the execution of the program for post mortem visualization of its behavior. This article describes JRastro, a trace agent capable of tracing Java programs. The agent was designed to cover three key features: to be transparent to the applicat...
متن کاملApproaches to Interpreter Composition
In this paper, we compose six different Python and Prolog VMs into 4 pairwise compositions: one using C interpreters; one running on the JVM; one using meta-tracing interpreters; and one using a C interpreter and a meta-tracing interpreter. We show that programs that cross the language barrier frequently execute faster in a meta-tracing composition, and that meta-tracing imposes a significantly...
متن کاملPublication IV
In this article, we present a system intended to help students understand and debug concurrent Java programs. The system instruments Java classes to produce execution traces. These traces can then be used to construct a dynamic dependence graph showing the interactions between the different operations performed in the program. These interactions are used as the basis for an interactive visualis...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004